package IO流.IO流操作.节点流.字节数组流;

import java.io.*;

public class ByteArrayOutputStreamTest {
    /**
     * 字节数组输出流
     * 1.创建源（内部维护）
     * 2.选择流（不关联源）
     * 3.操作（写出内容）
     * 4.释放资源（不需要关闭）
     *
     * //获取数据，toByteArray（）
     *
     */
    public static void main(String[] args) {
        //1.创建源
       byte[] file =null;
        //2.选择流(新增方法)
        java.io.ByteArrayOutputStream o = null;
        try {
            //append,是否在文件末尾执行操作。
            o = new java.io.ByteArrayOutputStream();
            //3.操作
            String msg = "输出流成功！";
            //字符流（串）---》》》字节流（编码）
            byte[] d = msg.getBytes();
            o.write(d,0,d.length);
            o.flush();
            //获取数据
            file = o.toByteArray();
            System.out.println(file.length+"-->"+new String(file));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e){
            e.printStackTrace();
        }finally {
            //4.释放资源
            try {
                if (o != null) {
                    o.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }



    }
}
